Maven 结合 IDEA 入门实践
作者:溪边静禅
cnblogs.com/ramantic/p/7735323.html
知音专栏
一、Maven 基本安装
1. 下载
首先来到 http://maven.apache.org/download.cgi ,直接下载以 -bin.zip 结尾的文件,如图
2. 存储位置
将其解压后,考虑与 jdk 一起放到 C 盘,方便管理:
3. 配置 MVN_HOME 系统环境变量
这一步的配置类似于 JAVA_HOME,其路径值也只需指向文件夹所在位置即可,比如 C:\Program Files\Java\apache-maven-3.3.1,切记不要加 \bin。
4. 配置 path 系统环境变量
基于 MVN_HOME 的配置,将路径引导到 \bin 目录下:
path:%JAVA_HOME%\bin; %MVN_HOME%\bin;
5. 新版本升级
每当有新版本的 Maven 下载到本地时,只需要把 %MVN_HOME% 的路径指向新版本 Maven 的所在物理路径,其他一律不需要变动,这也是设置 MVN_HOME 的意义所在。
最后重启 cmd,运行 mvn -v 就可以检查新版本号了。
二、settings.xml 配置文件
安装 Maven 完毕后,为便于管理一般还可以针对其“依赖包”的存储位置进行指定。
1. 配置 localRepository 节点
确定好依赖包要存储的路径位置,然后修改 localRepository 属性,该路径可自由指定:
<localRepository>D:\Maven-3.3.9\repository</localRepository>
该地址的内容如图:
提醒:如果 Intellij Idea 中自定义了 Maven,务必确保“Local repository”与此处配置的 localRepository 相同,以方便统一管理。
2. 配置镜像 mirror
有时候默认的镜像地址属于国外网站导致访问不畅,所以有必要进行替换。
国外
<mirror>
<id>mirrorId</id>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
国内(阿里云镜像:http://maven.aliyun.com/nexus/#welcome)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
这样,所有的 jar 包依赖项都会从新指定的 url 中下载。
三、与 IDEA 结合
我没有使用 IDEA 自带的 Maven,一方面是因为它的版本偏低,另外该版本与自己安装的 Maven 版本也不一致,容易导致不一致的结果,于是索性就放弃了 IDEA 自带的 Maven。
1. 基础配置
IDEA 中配置 Maven 的位置如图:
指定 Maven home directory 为 E:\Java\apache-maven-3.3.9,即 Maven 所安装的位置。
指定 User settings file 为 E:\Java\apache-maven-3.3.9\conf\settings.xml,同样也指定到 Maven 所安装的位置的 settings.xml 文件。
指定 Local repository 为期望的存储位置,务必确保该地址与 settings.xml 中 localRepository 相同,即都是 D:\Maven-3.3.9\repository
<localRepository>D:\Maven-3.3.9\repository</localRepository>
2. 运行时配置(Runner)
为了在任何时候能应用到这个配置,需要指定配置“For default project”。
Ⅰ. 一劳永逸式配置法
设置路径 File->Other Settings->Default Settings,如图:
接着选中 Maven / Runner,设置 VM Options 的值为“-DarchetypeCatalog=internal”:
Ⅱ. 临时配置法
另一种配置方式是“即时配置”,也就是每次在创建 artifact 时顺便予以配置:
如上图的 archetypeCatalog=internal,这样在创建相关组件模板时就只基于本地已有的组件来创建,不再因网络延时而导致异常。
archetypeCatalog 的值有三种:
internal——maven-archetype-plugin内置的
local——本地的,位置为~/.m2/archetype-catalog.xml
remote——指向Maven中央仓库的Catalog
通过以上的三步配置,Maven 和 IDEA 的结合使用就比较有条理了,特别强调的是务必要将依赖包的位置进行统一,避免重复下载。
送书活动栏
疯狂Java讲义(第四版)
今天赠送《疯狂Java讲义》,共三本,欢迎扫描下方抽奖小程序二维码进行抽奖,如需直接购买,点击阅读原文跳转。
【Java知音】实时干货推荐栏